本发明一种单线双向通信的主从芯片及其方法,主从芯片存储有预先设定的通信信号的同步信号位、准备位、读写位、就绪位与数据位的信号采样序列,通过控制从芯片的输入输出端口处于两种不同的状态,即读、写状态,并在两种状态下实现信号不同的传输方向,达到仅用其中一个芯片的一个输入输出端口根据设定的高低电平序列判断其间的误差来进行同步,满足双向传输信号的要求,从而节省芯片的输入输出端口,尤其适用于性能较低的主从芯片之间的通信。
1.一种单线双向通信的主从芯片,主从芯片存储有预先设定的通信信号的同步信号位的信号采样序列、准备位的信号采样序列、读写位的信号采样序列、就绪位的信号采样序列与数据位的信号采样序列,其特征在于,该主从芯片中的主芯片用于发送信号与该主从芯片中的从芯片同步,接收从芯片发送的数据进行读操作,及发送数据到从芯片进行写操作;该从芯片包括:一信号采样模块,用于接收主芯片发送的信号及对该信号进行采样;一采样序列判断模块,用于判断采样的信号时序是否与同步信号位的采样序列相同;一时间误差判断模块,用于当主芯片发送的信号时序与同步信号位的采样序列相同时,判断接收信号时序的高低电平之间的时间误差是否小于一预设误差,该时间误差为相邻的高低电平的持续时间之差;一同步信号确定模块,用于当高低电平之间的时间误差小于该预设误差时,确定当前接收的信号为同步信号;一读写位判断模块,用于进入准备位及判断下一个信号是读位还是写位;一发送模块,用于当下一个信号是读位时,进入就绪位及发送数据到主芯片;及一接收模块,用于当下一个信号是写位时,进入就绪位及接收主芯片发送的数据。
2.根据权利要求1所述的单线双向通信的主从芯片,其特征在于,该信号采样模块在侦测到高低电平变化的瞬间开始进行信号采样。
3.根据权利要求1所述的单线双向通信的主从芯片,其特征在于,该主芯片预设其信号采样周期为Ts,该预设误差为Ts/N*2,其中N为同步信号后的Ts个数。
4.根据权利要求3所述的单线双向通信的主从芯片,其特征在于,该同步信号位的采样序列为3个采样周期Ts及低高低电平序列。
5.根据权利要求3所述的单线双向通信的主从芯片,其特征在于,该读位的采样序列为1个采样周期Ts及高电平序列及该写位的采样序列为3个采样周期Ts及低电平序列。
6.一种主从芯片之间单线双向通信的方法,主从芯片存储有预先设定的同步信号位的信号采样序列、准备位的信号采样序列、读写位的信号采样序列、就绪位的信号采样序列与数据位的信号采样序列,其特征在于,该方法包括如下步骤:从芯片接收主芯片发送的信号及对该信号进行采样;从芯片判断采样的信号时序是否与同步信号位的采样序列相同;如果主芯片发送的信号时序与同步信号位的采样序列相同,从芯片判断接收信号时序的高低电平之间的时间误差是否小于一预设误差,该时间误差为相邻的高低电平的持续时间之差;如果高低电平之间的时间误差小于该预设误差,从芯片确定当前接收的信号为同步信号;从芯片进入准备位及判断下一个信号是读位还是写位;如果下一个信号是读位,从芯片进入就绪位及发送数据到主芯片使主芯片进行读操作;及如果下一个信号是写位,从芯片进入就绪位及接收主芯片发送的数据使主芯片进行写操作。
7.根据权利要求6所述的主从芯片之间单线双向通信的方法,其特征在于,从芯片在侦测到高低电平变化的瞬间开始进行信号采样。
8.根据权利要求6所述的主从芯片之间单线双向通信的方法,其特征在于,该主芯片预设其信号采样周期为Ts,该预设误差为Ts/N*2,其中N为同步信号后的Ts个数。
9.根据权利要求8所述的主从芯片之间单线双向通信的方法,其特征在于,该同步信号位的采样序列为3个采样周期Ts及低高低电平序列。
10.根据权利要求8所述的主从芯片之间单线双向通信的方法,其特征在于,该读位的采样序列为1个采样周期Ts及高电平序列及该写位的采样序列为3个采样周期Ts及低电平序列。
技术领域本发明涉及数据传输领域,更具体地,涉及一种单线双向通信的主从芯片及主从芯片之间单线双向通信的方法。
背景技术在对电子产品进行整合的过程中,具有各种功能的芯片必须要相互协调工作,相互间发送控制指令、传送工作状态等操作,这些操作必须占用各芯片的输入输出端口(简称I/O端口),在原本设计就比较紧凑的条件下,没有空间增加新的I/O端口,这时有些芯片原来的I/O端口就会变得不够用。例如,要将原本独立的A芯片和B芯片组合,A芯片和B芯片要相互通信,就必须占用A、B芯片的各两个I/O端口,这样A芯片就没有足够多的端口与其它功能芯片连接。因此在组合A、B芯片后,A芯片可能出现I/O端口不够用的情况。
发明内容为了解决上述存在的问题,本发明的目的在于,提供一种单线双向通信的主从芯片,主从芯片存储有预先设定的通信信号的同步信号位、准备位、读写位、就绪位与数据位的信号采样序列,该主芯片用于发送信号与从芯片同步,接收从芯片发送的数据进行读操作,及发送数据到从芯片进行写操作;该从芯片包括:一信号采样模块,用于接收主芯片发送的信号及对该信号进行采样;一采样序列判断模块,用于判断采样的信号时序是否与同步信号位的采样序列相同;一时间误差判断模块,用于当主芯片发送的信号时序与同步信号位的采样序列相同时,判断接收信号时序的高低电平之间的时间误差是否小于一预设误差,该时间误差为相邻的高低电平的持续时间之差;一同步信号确定模块,用于当高低电平之间的时间误差小于该预设误差时,确定当前接收的信号为同步信号;一读写位判断模块,用于进入准备位及判断下一个信号是读位还是写位;一发送模块,用于当下一个信号是读位时,进入就绪位及发送数据到主芯片;及一接收模块,用于当下一个信号是写位时,进入就绪位及接收主芯片发送的数据。本发明还提供一种主从芯片之间单线双向通信的方法,主从芯片存储有预先设定的通信信号的同步信号位、准备位、读写位、就绪位与数据位的信号采样序列,该方法包括如下步骤:从芯片接收主芯片发送的信号及对该信号进行采样;从芯片判断采样的信号时序是否与同步信号位的采样序列相同;如果主芯片发送的信号时序与同步信号位的采样序列相同,从芯片判断接收信号时序的高低电平之间的时间误差是否小于一预设误差,该时间误差为相邻的高低电平的持续时间之差;如果高低电平之间的时间误差小于该预设误差,从芯片确定当前接收的信号为同步信号;从芯片进入准备位及判断下一个信号是读位还是写位;如果下一个信号是读位,从芯片进入就绪位及发送数据到主芯片使主芯片进行读操作;及如果下一个信号是写位,从芯片进入就绪位及接收主芯片发送的数据使主芯片进行写操作。本发明一种单线双向通信的主从芯片及其方法,通过控制从芯片的输入输出端口处于两种不同的状态,即读、写状态,并在两种状态下实现信号不同的传输方向,达到仅用其中一个芯片的一个输入输出端口根据设定的高低电平序列判断其间的误差来进行同步,满足双向传输信号的要求,从而节省芯片的输入输出端口,尤其适用于性能较低的主从芯片之间的通信。主要元件符号说明
xa0xa0主芯片
xa0xa010
xa0xa0从芯片
xa0xa020
xa0xa0信号采样模块
xa0xa021
xa0xa0采样序列判断模块
xa0xa022
xa0xa0时间误差判断模块
xa0xa023
xa0xa0同步信号确定模块
xa0xa024
xa0xa0读写位判断模块
xa0xa025
xa0xa0发送模块
xa0xa026
xa0xa0接收模块
xa0xa027
如下具体实施方式将结合上述附图进一步说明本发明。
附图说明图1是本发明一单线双向通信的主从芯片的硬件模块图;图2是图1的主从芯片之间设定的各信号采样序列表;图3是图1的主从芯片中的从芯片计算一预设误差的示意图;图4是图1的主从芯片之间读操作的数据格式及时序图;图5是图1的主从芯片之间写操作的数据格式及时序图;及图6是图1的主从芯片之间单线双向通信的方法流程图。
具体实施方式图1是本发明一单线双向通信的主从芯片的硬件模块图。该主从芯片10、20之间单线双向通信中的单线指的是一根传输线,即主从芯片各仅提供一个输入输出端口。该通信方法尤其适用于性能较低的主从芯片之间的通信,对信号的采样速率要求不高。在主从芯片10、20存储有预先设定的同步信号位、准备位、读写位、就绪位与数据位的信号采样序列,各个位的采样序列为高低电平的序列。如图2所示,为本发明各信号的采样序列表。在本实施方式中,主芯片10预设信号的采样周期为Ts,如为5ms,该同步信号位的采样序列为3个采样周期Ts及连续的低高低电平序列,即每一高低电平拉低拉高的持续时间为一采样周期Ts。该准备位的采样序列为0.5个采样周期Ts及连续的高电平序列,即该高电平序列持续时间为0.5Ts。该读位的采样序列为1个采样周期Ts及连续的高电平序列,即该高电平序列持续时间为Ts。该写位的采样序列为3个采样周期Ts及连续的低电平序列,即该低电平序列持续时间为3Ts。该就绪位的采样序列为0.5个采样周期Ts及连续的高电平序列,即该高电平序列持续时间为0.5Ts。该数据位定义双方通信的数据内容,该数据位定义为8位(bit)及每一位(bit)定义为3Ts,故,该数据位的采样序列为24Ts。当主从芯片10、20双方通信进行读操作时,该同步信号位后的采样周期个数为0.5+1+0.5+24=26。当主从芯片10、20双方通信进行写操作时,该同步信号位后的采样周期个数为0.5+3+0.5+24=28。该主芯片10用于发送信号与从芯片20同步,接收从芯片20发送的数据进行读操作,及发送数据到从芯片20进行写操作,即主从芯片10、20之间开始通信时,主芯片10依序发送同步信号位、准备位、读位/写位、就绪位及数据位,该数据位内容为主从芯片同步后传输的数据。该从芯片20包括一信号采样模块21、一采样序列判断模块22、一时间误差判断模块23、一同步信号确定模块24、一读写位判断模块25、一发送模块26及一接收模块27。该信号采样模块21用于接收主芯片10发送的信号及对该信号进行采样。在本实施方式中,该信号采样模块21在侦测到高低电平变化的瞬间开始进行信号采样。该采样序列判断模块22用于判断采样的信号时序是否与同步信号位的采样序列相同,即判断采样的信号时序是否为低高低电平序列。该时间误差判断模块23用于当主芯片10发送的信号时序与同步信号位的采样序列相同时,判断接收信号时序的高低电平之间的时间误差是否小于一预设误差,该时间误差为相邻的高低电平的持续时间之差。如图3所示,为从芯片20计算该预设误差的示意图。该从芯片20在信号采样过程中,在电平发生变化时产生中断及记录当前时间为T0,即从高电平变化到低电平的瞬间,当电平信号再次发生变化时记录时间为Txa01,即低电平变化到高电平的瞬间,依次类推记录下时间T2、T3。接着,该从芯片计算各相邻两高低电平的间隔时间Ta、Tb、Tc,其中Ta=T1-T0,为第一个低电平持续时间,Tb=T2-T1,为第一个高电平持续时间,Tc=T3-T2,为第二个低电平持续时间。当MAX(|Ta-Tb|,|Ta-Tc|,|Tb-Tc|)<(Ts/N*2)时,视为Ta≈Tb≈Tc成立,即该预设误差为Ts/N*2,其中该Ts为主芯片10的信号采样周期,主芯片10发起通信时会通知从芯片20其信号采样周期为Ts,N为同步信号后的Ts的个数,在本实施方式中,N取同步信号后的Ts的最多个数等于28。例如,主芯片10的采样周期Ts为5ms,该预设误差为5ms/28*2=89μs。该同步信号确定模块24用于当高低电平之间的时间误差小于该预设误差时,确定当前接收的信号为同步信号。该读写位判断模块25用于进入准备位及判断下一个信号是读位还是写位。该发送模块26用于当下一个信号是读位时,进入就绪位及发送数据到主芯片10。该接收模块27用于当下一个信号是写位时,进入就绪位及接收主芯片发送的数据。图4是图1的主从芯片之间读操作的数据格式及时序图。该读操作的数据格式依序为低高低的同步信号位、高的准备位、高的读操作标志位、高的就绪位及8位bit的数据位。该读操作的时序图为低高低电平同步信号位的通信时间为3Ts,高电平准备位的通信时间为0.5Ts,高电平读位的通信时间为Ts,高电平就绪位的通信时间为0.5Ts,及8bit的数据位。当从芯片判断出接收到主芯片的信号为同步信号时,接着判断接收到的信号为持续时间为Ts的高电平信号,完成各个位信号的传送,从而实现单线读操作的通信。图5是图1的主从芯片之间写操作的数据格式及时序图。该写操作的数据格式依序为低高低的同步信号位、高的准备位、低的写操作标志位、高的就绪位及8bit的数据位。该写操作的时序图为低高低电平同步信号位的通信时间为3Ts,高电平准备位的通信时间为0.5Ts,低电平写位的通信时间为3Ts,高电平就绪位的通信时间为0.5Ts,及8bit的数据位。当从芯片判断出接收到主芯片的信号为同步信号时,接着判断接收到的信号为持续时间为3Ts的低电平信号,完成各个位信号的传送,从而实现单线写操作的通信。图6是图1的主从芯片之间单线双向通信的方法流程图。该主芯片10发起通信,按照双方约定的协议依序发送各个位信号。在该主芯片10发起通信前,该从芯片20一直处于等待状态,在本实施方式中,该从芯片20定义该等待状态为高电平(步骤S510)。当接收到主芯片10发送的信号时,该信号采样模块21对该接收的信号进行采样(步骤S520)。该采样序列判断模块22判断采样的信号时序是否与同步信号位的采样序列相同,即判断采样的信号是否为低高低的电平序列(步骤S530),如果该采样到的信号不是呈低高低的电平序列,则采样的信号不是同步信号,从芯片20回到步骤S510,该从芯片20处于等待状态。如果主芯片10发送的信号时序与同步信号位的采样序列相同,即为低高低的电平序列,该时间误差判断模块23判断高低电平之间的时间误差是否小于该预设误差,该时间误差为相邻的高低电平的持续时间之差(步骤S540)。如果高低电平之间的时间误差小于该预设误差,说明高电平和低电平的持续时间之差小于该预设误差,视为高低电平的持续时间相等,即从芯片20的信号采样周期视为等于高低电平的持续时间,视为等于主芯片的信号采样周期,该同步信号确定模块24确定当前接收的信号为同步信号(步骤S550)。该通信传输进入准备位及该读写位判断模块25判断下一个信号(准备位后的信号)是读位还是写位(步骤S560),即判断该下一个信号是为一个持续时间的高电平信号还是3个持续时间的低电平信号。如果下一个信号是读位,该发送模块26进入就绪位及发送数据到主芯片使主芯片进行读操作(步骤S570)。如果下一个信号是写位,该接收模块27进入就绪位及接收主芯片发送的数据使主芯片进行写操作(步骤S580)。因此,本发明一种单线双向通信的主从芯片及其方法,通过控制从芯片的输入输出端口处于两种不同的状态,即读、写状态,并在两种状态下实现信号不同的传输方向,达到仅用其中一个芯片的一个输入输出端口根据设定的高低电平序列判断其间的误差来进行同步,满足双向传输信号的要求,从而节省芯片的输入输出端口,尤其适用于性能较低的主从芯片之间的通信。尽管对本发明的优选实施方式进行了说明和描述,但是本领域的技术人员将领悟到,可以作出各种不同的变化和改进,这些都不超出本发明的真正范围。因此期望,本发明并不局限于所公开的作为实现本发明所设想的最佳模式的具体实施方式,本发明包括的所有实施方式都有所附权利要求书的保护范围内。